package com.mask.im.business.model.entity.chat;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 群聊天记录
 *
 * @author jian
 */

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("im_group_chat_message")
public class IMGroupChatMessageDO {
    /**
     * 主键Id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Integer id;
    /**
     * 所属群聊ID（关联群聊表）
     */
    private Long groupId;
    /**
     * 发送聊天的用户id
     */
    private Long senderId;
    /**
     * 聊天记录
     */
    private String content;
    /**
     * 发送状态：0=失败，1=成功
     */
    private Integer sendStatus;

    /**
     * 消息类型：0=文本，1=图片，2=文件，3=系统提示
     */
    private Integer messageType;
    /**
     * 媒体资源URL（图片/文件等，非媒体消息为null）
     */
    private String mediaUrl;
    /**
     * 系统提示内容（仅message_type=3时有值，如“XX加入群聊”）
     */
    private String systemPrompt;
    /**
     * 是否被删除：0=未删除，1=已删除
     */
    private Integer isDeleted;
    /**
     * 删除者ID（仅当is_deleted=1时有值）
     */
    private String deletedUserIds;
    /**
     * 群内消息序号（同群内递增，用于排序）
     */
    private Long sequence;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}

